Chemical file format

This article discusses some common molecular file formats, including usage and converting between them.

Contents

Distinguishing formats

Chemical information is usually provided as files or streams and many formats have been created, with varying degrees of documentation. The format can be found by three means (see chemical MIME section)

Chemical Markup Language

Chemical Markup Language (CML) is an open standard for representing molecular and other chemical data. The open source project includes XML Schema, source code for parsing and working with CML data, and an active community. The articles Tools for Working with Chemical Markup Language and XML for Chemistry and Biosciences discusses CML in more detail. CML data files are accepted by many tools, including JChemPaint, Jmol, XDrawChem and MarvinView.

Protein Data Bank Format

The Protein Data Bank Format is commonly used for proteins but it can be used for other types of molecules as well. It was originally designed as, and continues to be, a fixed-column-width format and thus officially has a built-in maximum number of atoms, of residues, and of chains; this currently results in splitting very large structures such as ribosomes into multiple files (e.g., 3I1M, 3I1N, 3I1O, 3I1P). However, many tools can read files that exceed those limits. Some PDB files contain an optional section describing atom connectivity as well as position. Because these files are sometimes used to describe macromolecular assemblies or molecules represented in explicit solvent, they can grow very large and are often compressed. Some tools, such as Jmol and KiNG,[1] can read PDB files in gzipped format. The PDB maintains the specifications of the PDB file format and its XML alternative, PDBML. There was a fairly major change in PDB format specification (to version 3.0) in August 2007, and a remediation of many file problems in the existing database.[2] The typical file extension for a PDB file is .pdb, although some older files use .ent or .brk. Some molecular modeling tools write nonstandard PDB-style files that adapt the basic format to their own needs.

GROMACS format

The GROMACS file format family was created for use with the molecular simulation software package GROMACS. It closely resembles the PDB format but was designed for storing output from molecular dynamics simulations, so it allows for additional numerical precision and optionally retains information about particle velocity as well as position at a given point in the simulation trajectory. It does not allow for the storage of connectivity information, which in GROMACS is obtained from separate molecule and system topology files. The typical file extension for a GROMACS file is .gro.

CHARMM format

The CHARMM molecular dynamics package[3] can read and write a number of standard chemical and biochemical file formats; however, the CARD (coordinate) and PSF (protein structure file) are largely unique to CHARMM. The CARD format is fixed-column-width, resembles the PDB format, and is used exclusively for storing atomic coordinates. The PSF file contains atomic connectivity information (which describes atomic bonds) and is required before beginning a simulation. The typical file extensions used are .crd and .psf respectively.

Ghemical file format

The Ghemical software can use OpenBabel to import and export a number of file formats. However, by default, it uses the GPR format. This file is composed of several parts, separated by a tag (!Header, !Info, !Atoms, !Bonds, !Coord, !PartialCharges and !End).

The proposed MIME type for this format is application/x-ghemical.

SYBYL Line Notation

SYBYL Line Notation (SLN) is a chemical line notation. Based on SMILES, it incorporates a complete syntax for specifying relative stereochemistry. SLN has a rich query syntax that allows for the specification of Markush queries. The syntax also supports the specification of combinatorial libraries of CD.

Example SLNs

Description SLN String
Benzene C[1]H:CH:CH:CH:CH:CH:@1
Alanine NH2C[s=n]H(CH3)C(=O)OH
Query showing R sidechain R1[hac>1]C[1]:C:C:C:C:C:@1
Query for amide/sulfamide NHC=M1{M1:O,S}

SMILES

The Simplified Molecular Input Line Entry Specification (SMILES) is a line notation for molecules. SMILES strings include connectivity but do not include 2D or 3D coordinates.

Hydrogen atoms are not represented. Other atoms are represented by their element symbols B, C, N, O, F, P, S, Cl, Br, and I. The symbol "=" represents double bonds and "#" represents triple bonds. Branching is indicated by (). Rings are indicated by pairs of digits.

Some examples are

Name Formula SMILES String
Methane CH4 C
Ethanol C2H6O CCO
Benzene C6H6 C1=CC=CC=C1 or c1ccccc1
Ethylene C2H4 C=C

XYZ

The XYZ file format is a simple format that usually gives the number of atoms in the first line, a comment on the second, followed by a number of lines with atomic symbols (or atomic numbers) and cartesian coordinates.

MDL number

The MDL number contains a unique identification number for each reaction and variation. The format is RXXXnnnnnnnn. R indicates a reaction, XXX indicates which database contains the reaction record. The numeric portion, nnnnnnnn, is an 8-digit number.

Other Common Formats

One of the widest used industry standards are chemical table file formats, like the Structure Data Format (SDF) files. They are text files that adhere to a strict format for representing multiple chemical structure records and associated data fields. The format was originally developed and published by Molecular Design Limited (MDL).

MOL is another file format from MDL. It is documented in Chapter 4 of the white paper Media:MDL CTfile Formats.

PubChem also has XML and ASN1 file formats, which are export options from the PubChem online database. They are both text based (ASN1 is most often a binary format).

There are a large number of other formats listed in the table below

Converting Between Formats

OpenBabel and JOELib are freely available open source tools specifically designed for converting between file formats. Their chemical expert systems support a large atom type conversion tables.

babel -i input_format input_file -o output_format output_file

For example, to convert the file epinephrine.sdf in SDF to CML use the command

babel -i sdf epinephrine.sdf -o cml epinephrine.cml

The resulting file is epinephrine.cml.

A number of tools intended for viewing and editing molecular structures are able to read in files in a number of formats and write them out in other formats. The tools JChemPaint (based on the Chemistry Development Kit), XDrawChem (based on OpenBabel), Chime, Jmol and Mol2mol[4] fit into this category.

MDL MOL file can be converted to wikipedia recommended SVG graphics format by Mol2Svg converter freeware.[5]

The Chemical MIME Project

"Chemical MIME" is a de facto approach for adding MIME types to chemical streams.

This project started in January 1994, and was first announced during the Chemistry workshop at the First WWW International Conference, held at CERN in May 1994. The first version of an Internet draft was published during May–October 1994, and the second revised version during April–September 1995. A paper presented to the CPEP (Committee on Printed and Electronic Publications) at the IUPAC meeting in August 1996 is available for discussion.

file extension MIME type proper name description
alc chemical/x-alchemy Alchemy Format
csf chemical/x-cache-csf CAChe MolStruct CSF
cbin, cascii, ctab chemical/x-cactvs-binary CACTVS format
cdx chemical/x-cdx ChemDraw eXchange file
cer chemical/x-cerius MSI Cerius II format
c3d chemical/x-chem3d Chem3D Format
chm chemical/x-chemdraw ChemDraw file
cif chemical/x-cif Crystallographic Information File, Crystallographic Information Framework Promulgated by the International Union of Crystallography
cmdf chemical/x-cmdf CrystalMaker Data format
cml chemical/x-cml Chemical Markup Language XML based Chemical Markup Language.
cpa chemical/x-compass Compass program of the Takahashi
bsd chemical/x-crossfire Crossfire file
csm, csml chemical/x-csml Chemical Style Markup Language
ctx chemical/x-ctx Gasteiger group CTX file format
cxf, cef chemical/x-cxf Chemical eXchange Format
emb, embl chemical/x-embl-dl-nucleotide EMBL Nucleotide Format
spc chemical/x-galactic-spc SPC format for spectral and chromatographic data
inp, gam, gamin chemical/x-gamess-input GAMESS Input format
fch, fchk chemical/x-gaussian-checkpoint Gaussian Checkpoint Format
cub chemical/x-gaussian-cube Gaussian Cube (Wavefunction) Forma
gau, gjc, gjf chemical/x-gaussian-input Gaussian Input Format
gcg chemical/x-gcg8-sequence Protein Sequence Format
gen chemical/x-genbank ToGenBank Format
istr,ist chemical/x-isostar IsoStar Library of Intermolecular Interactions
jdx, dx chemical/x-jcamp-dx JCAMP Spectroscopic Data Exchange Format
kin chemical/x-kinemage Kinetic (Protein Structure) Images; Kinemage
mcm chemical/x-macmolecule MacMolecule File Format
mmd, mmod chemical/x-macromodel-input MacroModel Molecular Mechanics
mol chemical/x-mdl-molfile MDL Molfile
smiles, smi chemical/x-daylight-smiles Simplified molecular input line entry specification A line notation for molecules.
sdf chemical/x-mdl-sdfile Structure-Data File
el chemical/x-sketchel SketchEl Molecule
ds chemical/x-datasheet SketchEl XML DataSheet
inchi chemical/x-inchi The IUPAC International Chemical Identifier
jsd, jsdraw chemical/x-jsdraw JSDraw native file format

The definitive specification is at http://www.ch.ic.ac.uk/chemime/ which is updated when major new types appear.

Chemical MIME Support

For Unix/Linux there is a tar.gz available which registers chemical MIME types on your system. Programs can then register as viewer, editor or processor for these formats so that full support for chemical MIME types is available.

chemical-mime-data: http://downloads.sourceforge.net/chemical-mime/

Sources of Chemical Data

Here is a short list of sources of freely available molecular data. There are many more resources than listed here out there on the Internet. Links to these sources are given in the references below.

  1. The US National Institute of Health PubChem database is a huge source of chemical data. All of the data is in two-dimensions. Data includes SDF, SMILES, PubChem XML, and PubChem ASN1 formats.
  2. The worldwide Protein Data Bank (wwPDB)[6] is an excellent source of protein and nucleic acid molecular coordinate data. The data is three-dimensional and provided in Protein Data Bank (PDB) format.
  3. eMolecules is a commercial database for molecular data. The data includes a two-dimensional structure diagram and a smiles string for each compound. eMolecules supports fast substructure searching based on parts of the molecular structure.
  4. ChemExper is a commercial data base for molecular data. The search results include a two-dimensional structure diagram and a mole file for many compounds.
  5. New York University Library of 3-D Molecular Structures.
  6. The US Environmental Protection Agency's The Distributed Structure-Searchable Toxicity (DSSTox) Database Network is a project of EPA's Computational Toxicology Program. The database provides SDF molecular files with a focus on carcinogenic and otherwise toxic substances.

See also

References

External links

Notes

  1. ^ Chen, V.B., et al. (2009). "KING (Kinemage, Next Generation): A versatile interactive molecular and scientific visualization program". Protein Science 18 (11): 2403–2409. doi:10.1002/pro.250. PMC 2788294. PMID 19768809. http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid=2788294. 
  2. ^ Henrick, K., et al. (2008). "Remediation of the protein data bank archive". Nucleic Acids Research 36 (Database issue): D426–D433. doi:10.1093/nar/gkm937. PMC 2238854. PMID 18073189. http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid=2238854. 
  3. ^ Brooks, B.M., et al. (1983). "CHARMM: A program for macromolecular energy, minimization, and dynamics calculations". J Comp Chem } volume= 4: 187–217. doi:10.1002/jcc.540040211. 
  4. ^ Mol2mol homepage
  5. ^ download Mol2Svg converter
  6. ^ Berman, H.M., et al. (2003). "Announcing the worldwide Protein Data Bank". Nature Structural Biology 10 (12): 980. doi:10.1038/nsb1203-980. PMID 14634627.